﻿namespace OpenProtocolInterpreter
{
    /// <summary>
    /// <see cref="Communication.Mid0004"/> possible errors.
    /// </summary>
    public enum Error
    {
        NO_ERROR = 00,
        INVALID_DATA = 01,
        PARAMETER_SET_ID_NOT_PRESENT = 02,
        PARAMETER_SET_CANNOT_BE_SET = 03,
        PARAMETER_SET_NOT_RUNNING = 04,
        VIN_UPLOAD_SUBSCRIPTION_ALREADY_EXISTS = 06,
        VIN_UPLOAD_SUBSCRIPTION_DOESNT_EXISTS = 07,
        VIN_INPUT_SOURCE_NOT_GRANTED = 08,
        LAST_TIGHTENING_RESULT_SUBSCRIPTION_ALREADY_EXISTS = 09,
        LAST_TIGHTENING_RESULT_SUBSCRIPTION_DOESNT_EXISTS = 10,
        ALARM_SUBSCRIPTION_ALREADY_EXISTS = 11,
        ALARM_SUBSCRIPTION_DOESNT_EXISTS = 12,
        PARAMETER_SET_SELECTION_SUBSCRIPTION_ALREADY_EXISTS = 13,
        PARAMETER_SET_SELECTION_SUBSCRIPTION_DOESNT_EXISTS = 14,
        TIGHTENING_ID_REQUESTED_NOT_FOUND = 15,
        CONNECTION_REJECTED_PROTOCOL_BUSY = 16,
        JOB_ID_NOT_PRESENT = 17,
        JOB_INFO_SUBSCRIPTION_ALREADY_EXISTS = 18,
        JOB_INFO_SUBSCRIPTION_DOESNT_EXISTS = 19,
        JOB_CANNOT_BE_SET = 20,
        JOB_NOT_RUNNING = 21,
        NOT_POSSIBLE_TO_EXECUTE_DYNAMIC_JOB_REQUEST = 22,
        JOB_BATCH_DECREMENT_FAILED = 23,
        NOT_POSSIBLE_TO_CREATE_PSET = 24,
        PROGRAMMING_CONTROL_NOT_GRANTED = 25,
        CONTROLLER_IS_NOT_A_SYNC_MASTER_OR_STATION_CONTROLLER = 30,
        MULTI_SPINDLE_STATUS_SUBSCRIPTION_ALREADY_EXISTS = 31,
        MULTI_SPINDLE_STATUS_SUBSCRIPTION_DOESNT_EXISTS = 32,
        MULTI_SPINDLE_RESULT_SUBSCRIPTION_ALREADY_EXISTS = 33,
        MULTI_SPINDLE_RESULT_SUBSCRIPTION_DOESNT_EXISTS = 34,
        JOB_LINE_CONTROL_INFO_SUBSCRIPTION_ALREADY_EXISTS = 40,
        JOB_LINE_CONTROL_INFO_SUBSCRIPTION_DOESNT_EXISTS = 41,
        IDENTIFIER_INPUT_SOURCE_NOT_GRANTED = 42,
        MULTIPLE_IDENTIFIERS_WORK_ORDER_SUBSCRIPTION_ALREADY_EXISTS = 43,
        MULTIPLE_IDENTIFIERS_WORK_ORDER_SUBSCRIPTION_DOESNT_EXISTS = 44,
        STATUS_EXTERNAL_MONITORED_INPUTS_SUBSCRIPTION_ALREADY_EXISTS = 50,
        STATUS_EXTERNAL_MONITORED_INPUTS_SUBSCRIPTION_DOESNT_EXISTS = 51,
        IO_DEVICE_NOT_CONNECTED = 52,
        FAULTY_IO_DEVICE_ID = 53,
        TOOL_TAG_ID_UNKNOWN = 54,
        TOOL_TAG_ID_SUBSCRIPTION_ALREADY_EXISTS = 55,
        TOOL_TAG_ID_SUBSCRIPTION_DOESNT_EXISTS = 56,
        TOOL_MOTOR_TUNING_FAILED = 57,
        NO_ALARM_PRESENT = 58,
        TOOL_CURRENTLY_IN_USE = 59,
        NO_HISTOGRAM_AVAILABLE = 60,
        CALIBRATION_FAILED = 70,
        SUBSCRIPTION_ALREADY_EXISTS = 71,
        SUBSCRIPTION_DOESNT_EXISTS = 72,
        COMMAND_FAILED = 79,
        AUTOMATIC_MANUAL_MODE_SUBSCRIBE_ALREADY_EXISTS = 82,
        AUTOMATIC_MANUAL_MODE_SUBSCRIBE_DOESNT_EXISTS = 83,
        RELAY_FUNCTION_SUBSCRIPTION_ALREADY_EXISTS = 84,
        RELAY_FUNCTION_SUBSCRIPTION_DOESNT_EXISTS = 85,
        SELECTOR_SOCKET_INFO_SUBSCRIPTION_ALREADY_EXISTS = 86,
        SELECTOR_SOCKET_INFO_SUBSCRIPTION_DOESNT_EXISTS = 87,
        DIGIN_INFO_SUBSCRIPTION_ALREADY_EXISTS = 88,
        DIGIN_INFO_SUBSCRIPTION_DOESNT_EXISTS = 89,
        LOCK_AT_BATCH_DONE_SUBSCRIPTION_ALREADY_EXISTS = 90,
        LOCK_AT_BATCH_DONE_SUBSCRIPTION_DOESNT_EXISTS = 91,
        OPEN_PROTOCOL_COMMANDS_DISABLED = 92,
        OPEN_PROTOCOL_COMMANDS_DISABLED_SUBSCRIPTION_ALREADY_EXISTS = 93,
        OPEN_PROTOCOL_COMMANDS_DISABLED_SUBSCRIPTION_DOESNT_EXISTS = 94,
        REJECT_REQUEST_POWER_MACS_IS_IN_MANUAL_MODE = 95,
        CLIENT_ALREADY_CONNECTED = 96,
        MID_REVISION_UNSUPPORTED = 97,
        CONTROLLER_INTERNAL_REQUEST_TIMEOUT = 98,
        UNKNOWN_MID = 99
    }
}
